package com.ruoyi.walmart.domain.shipments;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ShipmentPayload {
    private Headers headers;
    private List<Shipment> payload;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Headers {
        private int limit;
        private int offset;
        private int totalCount;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Shipment {
        private String inboundOrderId;
        private String shipmentId;
        private Address shipToAddress;
        private Address returnAddress;
        private String status;
        private LocalDateTime createdDate;
        private Long shipmentUnits;
        private Long receivedUnits;
        private LocalDateTime expectedDeliveryDate;
        private LocalDateTime updatedExpectedDeliveryDate;
        private LocalDateTime actualDeliveryDate;
        private List<String> trackingNo;
        private String carrierName;
        private Long receivedUnitsAtFC;
        private String poType;
        private String shipmentCarrierType;
        private String isExceptionOccurred;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Address {
        private String fcName;
        private String addressLine1;
        private String city;
        private String stateCode;
        private String countryCode;
        private String postalCode;
    }
}






